<style lang="less" scoped>
.official-indicator {
  width: 100%;
  height: 100%;
  /deep/.el-radio__label {
    line-height: 38px;
  }
}
</style>

<template>
  <div class="official-indicator">
    <!-- <el-form inline>
      <el-radio v-model="radioDate" label="1" @change="changeDate">
        <span style="margin-right: 5px;">指定日期</span>
        <el-form-item label="年份：">
          <el-date-picker
            v-model="year"
            type="year"
            value-format="yyyy"
            size="mini"
            :disabled="radioDate == 2"
            placeholder="选择年"
          />
        </el-form-item>
        <el-form-item label="季度：">
          <el-select v-model="quarter" size="mini" placeholder="请选择" :disabled="radioDate == 2">
            <el-option label="第一季度" :value="1" />
            <el-option label="第二季度" :value="2" />
            <el-option label="第三季度" :value="3" />
            <el-option label="第四季度" :value="4" />
          </el-select>
        </el-form-item>
        <el-form-item label="月份：">
          <el-select v-model="month" size="mini" placeholder="请选择" :disabled="radioDate == 2">
            <el-option label="一月" :value="1" :disabled="quarter != '' && quarter != '1'" />
            <el-option label="二月" :value="2" :disabled="quarter != '' && quarter != '1'" />
            <el-option label="三月" :value="3" :disabled="quarter != '' && quarter != '1'" />
            <el-option label="四月" :value="4" :disabled="quarter != '' && quarter != '2'" />
            <el-option label="五月" :value="5" :disabled="quarter != '' && quarter != '2'" />
            <el-option label="六月" :value="6" :disabled="quarter != '' && quarter != '2'" />
            <el-option label="七月" :value="7" :disabled="quarter != '' && quarter != '3'" />
            <el-option label="八月" :value="8" :disabled="quarter != '' && quarter != '3'" />
            <el-option label="九月" :value="9" :disabled="quarter != '' && quarter != '3'" />
            <el-option label="十月" :value="10" :disabled="quarter != '' && quarter != '4'" />
            <el-option label="十一月" :value="11" :disabled="quarter != '' && quarter != '4'" />
            <el-option label="十二月" :value="12" :disabled="quarter != '' && quarter != '4'" />
          </el-select>
        </el-form-item>
      </el-radio>
      <el-radio v-model="radioDate" label="2" @change="changeDate">
        <span style="margin-right: 5px;">其他时间</span>
        <el-form-item label="">
          <el-date-picker
            v-model="monthRange"
            type="monthrange"
            start-placeholder="开始月份"
            end-placeholder="结束月份"
            size="mini"
            format="yyyy-MM"
            value-format="yyyy-MM"
            :disabled="radioDate == 1"
          />
        </el-form-item>
      </el-radio>
      <el-form-item label="">
        <el-select v-model="timeValue" @change="changeTime">
          <el-option v-for="(item, index) in timeList" :key="index" :label="item.label" :value="item.value" />
        </el-select>
      </el-form-item>
      <el-form-item label="">
        <el-select v-model="indicatorsPlaceholder" size="mini">
          <el-option v-for="(item, index) in timeList" v-show="false" :key="index" :label="item.label" :value="item.label" />
          <el-tree
            :data="data"
            show-checkbox
            :props="defaultProps"
            node-key="id"
            :default-checked-keys="defaultKeys"
            @check-change="handleCheckChange"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="">
        <el-button type="primary" size="mini" @click="search">搜索</el-button>
        <el-button size="mini" @click="reset">重置</el-button>
      </el-form-item>
    </el-form> -->
    <el-radio-group v-model="selectTarget" @input="tabChange">
      <el-radio-button label="zkzb">质控指标</el-radio-button>
      <el-radio-button label="rzzb">认证指标</el-radio-button>
    </el-radio-group>
    <div v-loading="loading" class="box-echart">
      <el-card v-for="(item, index) in chartData" :key="index" class="box-card">
        <div slot="header" class="clearfix">
          <span>{{ index + 1 }}、{{ item.name }}</span>
        </div>
        <quality-chart
          :chart-data="item.optionData"
          :index="item.index"
          :single-chart-data="singleChartData"
          :conditionalValueList="conditionalValue"
          :select-target="selectTarget"
          @clickIcon="clickIcon"
          @clickZuo="clickZuo"
          @clickYou="clickYou"
        />
      </el-card>
    </div>
  </div>
</template>

<script>
import qualityChart from "@/views/statistical/quality-chart";
import {
  getCpcQcQuota,
  getCpcQuota,
} from "@/api/statistical/statistical-analysis";
export default {
  components: {
    qualityChart,
  },
  props: [
    "preYear",
    "preQuarter",
    "preMonth",
    "preMonthRange",
    "preIndicators",
  ],
  computed: {
    conditionalValue() {
      if (this.selectTarget === "zkzb") {
        return this.conditionalValueList;
      } else {
        return this.rzConditionalValueList;
      }
    },
  },
  data() {
    let _this = this;
    return {
      loading: false,
      singleChartData: {},
      radioDate: "1",
      year: "",
      quarter: "",
      month: "",
      dept: "",
      doc: "",
      selectTarget: "zkzb",
      monthRange: [],
      pickerOptions: {
        disabledDate: (time) => {
          let year = "";
          if (_this.year) {
            year = _this.year;
          } else {
            year = time.getFullYear();
          }
          const firstMonth = new Date(+year, 1);
          const lastMonth = new Date(+year, 1);
          if (_this.quarter) {
            if (_this.quarter == 1) {
              firstMonth.setMonth(0);
              lastMonth.setMonth(2);
            } else if (_this.quarter == 2) {
              firstMonth.setMonth(3);
              lastMonth.setMonth(5);
            } else if (_this.quarter == 3) {
              firstMonth.setMonth(6);
              lastMonth.setMonth(8);
            } else if (_this.quarter == 4) {
              firstMonth.setMonth(9);
              lastMonth.setMonth(11);
            }
          } else {
            firstMonth.setMonth(0);
            lastMonth.setMonth(11);
          }
          return (
            time.getTime() < new Date(firstMonth).getTime() ||
            time.getTime() > new Date(lastMonth).getTime()
          );
        },
      },
      chartData: [],
      // indicatorsPlaceholder: '筛选指标',
      // indicators: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
      // defaultKeys: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

      // indicators: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
      // defaultKeys: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
      // timeList: [{
      //   label: '季度',
      //   value: 'quarter'
      // }, {
      //   label: '月度',
      //   value: 'month'
      // }, {
      //   label: '年度',
      //   value: 'year'
      // }],
      // data: [{
      //   id: 1,
      //   label: '首次医疗接触至首份心电图（FMC2ECG）时间'
      // }, {
      //   id: 2,
      //   label: '首份心电图至确诊时间'
      // }, {
      //   id: 3,
      //   label: 'ECG远程传输比例'
      // }, {
      //   id: 4,
      //   label: '从抽血完成到获取报告时间'
      // }, {
      //   id: 5,
      //   label: '再灌注比例'
      // }, {
      //   id: 6,
      //   label: '入门到导丝通过（D2B）时间'
      // }, {
      //   id: 7,
      //   label: '首次医疗接触到导丝通过（FMC2B）时间'
      // }, {
      //   id: 8,
      //   label: '导管室激活时间'
      // }, {
      //   id: 9,
      //   label: '直达导管室比例"'
      // }, {
      //   id: 10,
      //   label: '绕行CCU比例'
      // }, {
      //   id: 11,
      //   label: '溶栓后患者24小时内早期造影的比例'
      // }, {
      //   id: 12,
      //   label: '所有STEMI患者的死亡率'
      // }, {
      //   id: 13,
      //   label: 'NSTEMI/UA的患者实施危险分层评估的比例'
      // },
      // {
      //   id: 14,
      //   label: '危险分层极高危的NSTEMI/UA患者2小时内实施紧急PCI的比例'
      // },
      // {
      //   id: 15,
      //   label: '危险分层高危的NSTEMI/UA患者24小时内实施早期介入治疗的比例'
      // },
      // {
      //   id: 16,
      //   label: '全部ACS患者院内死亡率'
      // },
      // {
      //   id: 17,
      //   label: '全部ACS患者院内心力衰竭发生率'
      // },
      // {
      //   id: 18,
      //   label: 'STEMI确诊至服用双抗药物时间'
      // },
      // {
      //   id: 19,
      //   label: 'STEMI患者从确诊到静脉肝素抗凝给药时间'
      // },
      // {
      //   id: 20,
      //   label: '到达医院大门到溶栓时间'
      // },
      // {
      //   id: 21,
      //   label: '首次医疗接触到溶栓时'
      // },
      // {
      //   id: 22,
      //   label: '网络医院的入门到出门的时间'
      // },
      // {
      //   id: 23,
      //   label: 'STEMI患者中呼叫120入院的比例'
      // },
      // {
      //   id: 24,
      //   label: 'STEMI患者发病后2小时内就诊的比例'
      // },
      // {
      //   id: 25,
      //   label: '通知CT室到CT室完成准备的时间'
      // }
      // ],
      // defaultProps: {
      //   children: 'children',
      //   label: 'label'
      // }

      // 质控指标条件取值列表
      conditionalValueList: [
        {
          index: 1,
          conditionaList: ["初步诊断勾选“STEMI”"],
          valueList: ["首次医疗接触时间—发病时间的差值的平均时间"],
        },
        {
          index: 2,
          conditionaList: [""],
          valueList: [
            "按月统计，首份心电图时间—首次医疗接触时间的差值的平均时间",
          ],
        },
        {
          index: 3,
          conditionaList: [""],
          valueList: [
            "按月统计，首份心电图诊断时间-首份心电图时间的差值的平均时间",
          ],
        },
        {
          index: 4,
          conditionaList: [
            "1：初步诊断勾选“STEMI”",
            "2：来院方式勾选“呼叫（120/999或其他）出车”、“转运（包含任何机构）",
            "3：远程心电图传输勾选“接收120/网络医院心电图”",
          ],
          valueList: [
            "按月统计",
            "满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 5,
          conditionaList: [
            "1：来院方式勾选“呼叫(120/999或其他)出车”、“转运(包含任何机构)”",
            "2：初步诊断勾选“STEMI”",
            "3：再灌注措施勾选“是”，且措施勾选“直接PCI”，或勾选“转运PCI”的“接收患者”",
            "4：绕行急诊、绕行CCU均勾选“是”，过滤院前溶栓(溶栓筛查“合适”+溶栓治疗选“有”)"
          ],
          valueList: [
            "按月统计，满足条件1~4为达标病历",
            "满足条件1~3为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 6,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“转院（包含任何机构）”的病例",
            "2.转院类型勾选“网络医院”",
            "4.过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”且（开始溶栓时间<转出医院出门时间）不纳入指标统计）",
          ],
          valueList: ["按月统计，计算在网络医院的入门到出门时间差的平均值"],
        },
        {
          index: 7,
          conditionaList: ["条件1：DIDO时间≤30min", "条件2：DIDO时间>30min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 8,
          conditionaList: [
            "条件1：来院方式勾选“呼叫（120或其他）出车”或“转院（包含任何机构）”或“自行来院”",
            "条件2：来院方式“院内发病”",
            "条件3：初步诊断为“STEMI”",
            "条件4：初步诊断为UA、NSTEMI时再次危险分层勾选“转为STEMI”",
            "条件5：再灌注措施勾选“直接PCI”或勾选“转运PCI”的“接收患者”",
          ],
          valueList: [
            "满足条件患者再用考核时间进行相减得到差值（考核时间：导丝通过时间—满足条件1、3、5采用“到达本院大门时间”、满足条件2、3、5采用“首次医疗接触时间”，满足条件4、5采用“再次危险分层时间”）",
            "注：过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”）不纳入指标统计",
          ],
        },
        {
          index: 9,
          conditionaList: ["1：D2W时间≤90min", "2：D2W时间>90min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 10,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“呼叫（120或其他）出车”或“转院（包含任何机构）”",
            "3.再灌注措施为“是”，措施为“直接PCI”或“转运PCI”的“接收患者”",
            "4.过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”）不纳入指标统计",
          ],
          valueList: ["按月统计，导丝通过时间与首次医疗接触时间差值的平均值"],
        },
        {
          index: 11,
          conditionaList: ["1.FMC2W时间≤120min", "2.FMC2W时间＞120min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 12,
          conditionaList: [
            "条件1：来院方式勾选“呼叫（120或其他）出车”、“转院（包含任何机构）”、“自行来院”",
            "条件2：来院方式勾选“院内发病”",
            "条件3：初步诊断为“STEMI”",
            "条件4：初步诊断为“UA”、“NSTEMI”时再次危险分层勾选“转为STEMI”",
            "条件5：再灌注措施勾选“溶栓”",
          ],
          valueList: [
            "满足条件患者再用考核时间进行相减得到差值（考核时间：开始溶栓时间—满足条件1、3、5采用“到达本院大门时间”，满足条件2、3、5采用“首次医疗接触时间”，满足条件4、5采用“再次危险分层时间”）",
          ],
        },
        {
          index: 13,
          conditionaList: ["条件1：D2N时间≤30min", "条件2：D2N时间>30min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 14,
          conditionaList: [
            "条件1：初步诊断为“STEMI”或UA、NSTEMI时再次危险分层勾选“转为STEMI”",
            "条件2：【急救信息】中溶栓治疗勾选“有”或【胸痛诊疗】溶栓治疗勾选“有”",
            "条件3：【急救信息】中溶栓再通勾选“是”或【胸痛诊疗】中溶栓再通勾选“是”",
          ],
          valueList: [
            "按月统计",
            "满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 15,
          conditionaList: [
            "条件1：初步诊断为“STEMI”或UA、NSTEMI再次危险分层勾选“转为STEMI”",
            "条件2：【急救信息】溶栓治疗勾选“有”，或【胸痛诊疗】再灌注措施溶栓治疗勾选“有”",
            "条件3：【患者转归】“造影开始时间”，或【胸痛诊疗】“造影开始时间”，或【急救信息】“溶栓后造影时间” - 【胸痛诊疗】“溶栓结束时间”，或【急救信息】“溶栓结束时间” <= 24h的人数",
          ],
          valueList: [
            "满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
            "造影开始时间优先级：【患者转归】>【胸痛诊疗】>【急救信息】",
            "溶栓结束时间优先级：【胸痛诊疗】>【急救信息】",
          ],
        },
        {
          index: 16,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”",
            "条件2：【患者转归】转运PCI 勾选“是”",
            "条件3：【患者转归】出院或30天转归勾选“转送其它医院”，且转运PCI勾选“是”，且直达导管室勾选“是”",
          ],
          valueList: [
            "满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
            "注：【胸痛诊疗】中溶栓治疗勾选“有”、【急救信息】中溶栓治疗勾选“有”、【急救信息】直接转送上级医院（转出患者时）勾选“是”，均不计入统计",
          ],
        },
        {
          index: 17,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.首次医疗接触时间” 与 “发病时间”差值<12小时",
            "3.【急救信息】溶栓治疗勾选‘合适’且溶栓治疗勾选“有”或【胸痛诊疗】再灌注措施勾选“直接PCI”、“溶栓”、“转运PCI”",
          ],
          valueList: [
            "按月统计，满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
            "行再灌注措施的病例占所有符合条件对象的比例",
          ],
        },
        {
          index: 18,
          conditionaList: [
            "条件1：初步诊断为STEMI、NSTEMI、UA、主动脉夹层、肺动脉栓塞",
          ],
          valueList: ["满足条件1的病历属于达标病历"],
        },
        {
          index: 19,
          conditionaList: [
            "1.再灌注措施勾选“直接PCI”，或“转运PCI”且勾选“接收病例”",
            "2.“导丝通过时间”不为空",
          ],
          valueList: ["按月统计，计算符合条件1、2的病例总数"],
        },
        {
          index: 20,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：1月随访起始日期≤当前日期≤1月随访结束日期",
            "条件4：随访列表中【1月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 21,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：3月随访起始日期≤当前日期≤3月随访结束日期",
            "条件4：随访列表中【3月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 22,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：6月随访起始日期≤当前日期≤6月随访结束日期",
            "条件4：随访列表中【6月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 23,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：12月随访起始日期≤当前日期≤12月随访结束日期",
            "条件4：随访列表中【12月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
      ],
      // 认证指标条件取值列表
      rzConditionalValueList: [
        {
          index: 1,
          conditionaList: [""],
          valueList: [
            "按月统计，首份心电图时间—首次医疗接触时间的差值的平均时间",
          ],
        },
        {
          index: 2,
          conditionaList: ["初步诊断勾选“STEMI”"],
          valueList: [
            "按月统计，首份心电图诊断时间-首份心电图时间的差值的平均时间",
          ],
        },
        {
          index: 3,
          conditionaList: [
            "1：初步诊断勾选“STEMI”",
            "2：来院方式勾选“呼叫（120/999或其他）出车”及“转院（包含任何机构）”",
            "3：远程心电图传输勾选“接收120/网络医院心电图”",
          ],
          valueList: [
            "按月统计",
            "满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
            "比例不低于30%且在过去6个月内呈现增加趋势",
          ],
        },
        {
          index: 4,
          conditionaList: [""],
          valueList: [
            "按月统计，首次获取报告时间-首次抽血完成时间的差值的平均时间",
          ],
        },
        {
          index: 5,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.首次医疗接触时间” 与 “发病时间”差值<12小时",
            "3.【急救信息】溶栓治疗勾选‘合适’且溶栓治疗勾选“有”或【胸痛诊疗】再灌注措施勾选“直接PCI”、“溶栓”、“转运PCI”",
            "",
          ],
          valueList: [
            "按月统计，满足条件1、2、3的病历属于达标病历",
            "满足条件1、2的病历属于未达标病历",
            "计算达标病历/未达标病历的比例",
            "行再灌注措施的病例占所有符合条件对象的比例",
          ],
        },
        {
          index: 6,
          conditionaList: [
            "条件1：来院方式勾选“呼叫（120或其他）出车”或“转院（包含任何机构）”或“自行来院”",
            "条件2：来院方式“院内发病”",
            "条件3：初步诊断为“STEMI”",
            "条件4：初步诊断为UA、NSTEMI时再次危险分层勾选“转为STEMI”",
            "条件5：再灌注措施勾选“直接PCI”或勾选“转运PCI”的“接收患者”",
          ],
          valueList: [
            "满足条件患者再用考核时间进行相减得到差值（考核时间：导丝通过时间—满足条件1、3、5采用“到达本院大门时间”、满足条件2、3、5采用“首次医疗接触时间”，满足条件4、5采用“再次危险分层时间”）",
            "注：过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”）不纳入指标统计",
          ],
        },
        {
          index: 7,
          conditionaList: ["1：D2W时间≤90min", "2：D2W时间>90min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 8,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“呼叫（120或其他）出车”或“转院（包含任何机构）”",
            "3.再灌注措施为“是”，措施为“直接PCI”或“转运PCI”的“接收患者”",
            "4.过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”）不纳入指标统计",
          ],
          valueList: ["按月统计，导丝通过时间与首次医疗接触时间差值的平均值"],
        },
        {
          index: 9,
          conditionaList: ["1.FMC2W时间≤120min", "2.FMC2W时间＞120min"],
          valueList: [
            "按月统计，满足条件1的病历属于达标病历",
            "满足条件2的病历属于未达标病历",
            "计算达标病历/（达标+未达标）病历的比例",
          ],
        },
        {
          index: 10,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.再灌注措施勾选“是”，措施勾选“直接PCI”",
          ],
          valueList: ["导管室激活时间-启动导管室时间的差值的平均时间"],
        },
        {
          index: 11,
          conditionaList: [
            "1：来院方式勾选“呼叫（120/999或其他）出车”、“转运（包含任何机构）”",
            "2：初步诊断勾选“STEMI”",
            "3：再灌注措施勾选“是”，且措施勾选“直接PCI”，或勾选“转运PCI”的“接收患者”",
            "4：绕行急诊、绕行CCU均勾选“是”，过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”）",
          ],
          valueList: [
            "按月统计，满足条件1~4为达标病历",
            "满足条件1~3为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 12,
          conditionaList: [
            "1.来院方式勾选“自行来院”",
            "2.“初步诊断”为STEMI",
            "3.再灌注措施勾选“是”，且措施勾选“直接PCI”",
            "4.“绕行CCU”勾选“是”",
          ],
          valueList: [
            "按月统计，满足条件1~4为达标病历",
            "满足条件1~3为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 13,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“呼叫（120/999或其他）出车”、“转运（包含任何机构）”，院前溶栓治疗的溶栓筛查勾选“合适”，溶栓治疗勾选“有”，再灌注措施勾选“直接PCI”、“择期介入”；",
            "3.来院方式勾选“自行来院”，再灌注措施勾选“溶栓+补救PCI”、“溶栓+溶栓后介入”，溶栓筛查勾选“合适”，溶栓治疗勾选“有”；",
            "4.有造影开始时间，且造影开始时间-溶栓结束时间的差值＜24h",
          ],
          valueList: [
            "按月统计，满足条件1+2+4或1+3+4为达标病历",
            "满足条件1+2或1+3为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 14,
          conditionaList: [
            "1. 初步诊断勾选“STEMI”",
            "2. 出院信息-出院或30天转归勾选“死亡”",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 15,
          conditionaList: [
            "1.初步诊断勾选“NSTEMI/UA”",
            "2.Grace评估-NSTE-ACS危险分层勾选“ 极高危  高危  中危  低危”其中一项",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 16,
          conditionaList: [
            "1.初步诊断勾选“NSTEMI/UA”",
            "2.Grace评估-NSTE-ACS危险分层勾选“极高危”，或再次危险分层勾选“极高危”",
            "3.处理策略勾选“侵入性策略”-“2H紧急介入治疗”",
          ],
          valueList: [
            "按月统计，满足条件1~3为达标病历",
            "满足条件1~2为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 17,
          conditionaList: [
            "1.初步诊断勾选“NSTEMI/UA”",
            "2.Grace评估-NSTE-ACS危险分层勾选“高危”，或再次危险分层勾选“高危”",
            "3.处理策略勾选“侵入性策略”-“24H紧急介入治疗”",
          ],
          valueList: [
            "按月统计，满足条件1~3为达标病历",
            "满足条件1~2为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 18,
          conditionaList: [
            "1. 初步诊断勾选“STEMI”、NSTEMI、UA",
            "2. 转归方式勾选“死亡”",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 19,
          conditionaList: [
            "1.初步诊断勾选“STEMI”、NSTEMI、UA",
            "2.【患者转归】院内新发心力衰竭勾选“是”",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 20,
          conditionaList: [
            "1.初步诊断勾选“STEMI”、NSTEMI、UA",
            "2.初始药物中，抗血小板治疗勾选“是”",
          ],
          valueList: [
            "按月统计，计算抗血小板治疗时间-初步诊断时间的差值的平均值",
          ],
        },
        {
          index: 21,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.初始药物中，抗凝勾选“是”",
            "3.过滤院前和院内溶栓治疗勾选“有”，且药物为“第一代”的病例",
          ],
          valueList: ["按月统计，计算抗凝给药时间-初步诊断时间的差值的平均值"],
        },
        {
          index: 22,
          conditionaList: [
            "条件1：来院方式勾选“呼叫（120或其他）出车”、“转院（包含任何机构）”、“自行来院”",
            "条件2：来院方式勾选“院内发病”",
            "条件3：初步诊断为“STEMI”",
            "条件4：初步诊断为“UA”、“NSTEMI”时再次危险分层勾选“转为STEMI”",
            "条件5：再灌注措施勾选“溶栓”",
          ],
          valueList: [
            "满足条件患者再用考核时间进行相减得到差值（考核时间：开始溶栓时间—满足条件1、3、5采用“到达本院大门时间”，满足条件2、3、5采用“首次医疗接触时间”，满足条件4、5采用“再次危险分层时间”）",
          ],
        },
        {
          index: 23,
          conditionaList: [
            "1.初步诊断勾选“STEMI”、NSTEMI、UA",
            "2.来院方式勾选“呼叫（120/999或其他）出车”、“转运（包含任何机构）",
            "3.院前溶栓筛查勾选“合适”，溶栓治疗勾选“有”",
          ],
          valueList: ["按月统计，计算溶栓开始时间-首次医疗接触的差值的平均值"],
        },
        {
          index: 24,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“转院（包含任何机构）”的病例",
            "3.转院类型勾选“网络医院”",
            "4.过滤院前溶栓（溶栓筛查“合适”+溶栓治疗选“有”且（开始溶栓时间<转出医院出门时间）不纳入指标统计）",
          ],
          valueList: ["按月统计，计算在网络医院的入门到出门时间差的平均值"],
        },
        {
          index: 25,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.来院方式勾选“呼叫（120/999或其他）出车”",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 26,
          conditionaList: [
            "1.初步诊断勾选“STEMI”",
            "2.首次医疗接触时间-发病时间的差值＜2h",
          ],
          valueList: [
            "按月统计，满足条件1~2为达标病历",
            "满足条件1为未达标病历",
            "计算达标病历/未达标病历的比例",
          ],
        },
        {
          index: 27,
          conditionaList: [
            "1.初步诊断勾选“主动脉夹层/肺动脉栓塞”",
            "2.诊断-影像学检查勾选“急诊CT”",
          ],
          valueList: ["按月统计，CT室完成准备时间-通知CT室时间的差值的平均值"],
        },
        {
          index: 28,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：1月随访起始日期≤当前日期≤1月随访结束日期",
            "条件4：随访列表中【1月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 29,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：3月随访起始日期≤当前日期≤3月随访结束日期",
            "条件4：随访列表中【3月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 30,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：6月随访起始日期≤当前日期≤6月随访结束日期",
            "条件4：随访列表中【6月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
        {
          index: 31,
          conditionaList: [
            "条件1：初步诊断勾选“STEMI”、“NSTEMI”、“UA”",
            "条件2：出院信息勾选“出院”且 出院时间不为空",
            "条件3：12月随访起始日期≤当前日期≤12月随访结束日期",
            "条件4：随访列表中【12月随访】为“已随访”",
          ],
          valueList: [
            "满足条件1、2、3、4的病历属于达标病历",
            "满足条件1、2、3的病历属于未达标病历",
            "计算达标病历/未达标病历的所占比例",
            "注：如果病历随访详情页中【随访状态】勾选“死亡”，则后续周期随访率不计入",
          ],
        },
      ],
    };
  },
  mounted() {
    // this.getStatisticData()
  },
  methods: {
    search() {
      this.year = this.preYear;
      this.quarter = this.preQuarter;
      this.month = this.preMonth;
      this.monthRange = this.preMonthRange;
      this.indicators = this.preIndicators;
      this.getStatisticData();
    },
    reset() {
      this.search();
    },
    clickIcon(index) {
      this.singleChartData = this.chartData[index];
    },
    clickZuo(index) {
      if (index === 0) {
        this.singleChartData = this.chartData[this.chartData.length - 1];
      } else {
        this.singleChartData = this.chartData[index - 1];
      }
    },
    clickYou(index) {
      if (
        index > this.chartData.length - 1 ||
        index === this.chartData.length - 1
      ) {
        this.singleChartData = this.chartData[0];
      } else {
        this.singleChartData = this.chartData[index + 1];
      }
    },
    tabChange(e) {
      if (e === "rzzb") {
        this.getCpcQuotaData();
      } else {
        this.getStatisticData();
      }
    },
    getCpcQuotaData() {
      this.loading = true;
      this.chartData = [];
      getCpcQuota({
        hospitalId: this.$store.getters.hospitalId,
        year: this.year,
        quarter: this.quarter,
        month: this.month,
        startTime: this.monthRange[0] ? this.monthRange[0] : "",
        endTime: this.monthRange[1] ? this.monthRange[1] : "",
        indexs: this.indicators.join(","),
      })
        .then((res) => {
          if (res.code === 0) {
            if (res.data && res.data.length > 0) {
              res.data.forEach((el) => {
                el.index = el.index - 1;
                let successRate = [];
                let timeData = [];
                let averageData = [];
                successRate = el.optionData.map((rate) => {
                  return rate.ratioReach;
                });
                timeData = el.optionData.map((rate) => {
                  return rate.timeName;
                });
                averageData = el.optionData.map((rate) => {
                  return rate.value;
                });
                const unit = el.unit === "%" ? "(百分比)" : "(" + el.unit + ")";
                el.optionData = {
                  successRate: successRate,
                  timeData: timeData,
                  averageData: averageData,
                  unit: unit,
                  isShowReachRatio:el.isShowReachRatio
                };
              });
            }
            this.chartData = res.data;
            this.loading = false;
          } else {
            this.loading = false;
          }
        })
        .catch(() => {
          this.loading = false;
        });
    },
    getStatisticData() {
      this.loading = true;
      this.chartData = [];
      getCpcQcQuota({
        hospitalId: this.$store.getters.hospitalId,
        year: this.year,
        quarter: this.quarter,
        month: this.month,
        startTime: this.monthRange[0] ? this.monthRange[0] : "",
        endTime: this.monthRange[1] ? this.monthRange[1] : "",
        indexs: this.indicators.join(","),
      })
        .then((res) => {
          if (res.code === 0) {
            if (res.data && res.data.length > 0) {
              res.data.forEach((el) => {
                el.index = el.index - 1;
                let successRate = [];
                let timeData = [];
                let averageData = [];
                successRate = el.optionData.map((rate) => {
                  return rate.ratioReach;
                });
                timeData = el.optionData.map((rate) => {
                  return rate.timeName;
                });
                averageData = el.optionData.map((rate) => {
                  return rate.value;
                });
                const unit = el.unit === "%" ? "(百分比)" : "(" + el.unit + ")";
                el.optionData = {
                  successRate: successRate,
                  timeData: timeData,
                  averageData: averageData,
                  unit: unit,
                  isShowReachRatio:el.isShowReachRatio
                };
              });
            }
            this.chartData = res.data;
            this.loading = false;
          } else {
            this.loading = false;
          }
        })
        .catch(() => {
          this.loading = false;
        });
    },
    changeDate(val) {
      if (val == 1) {
        this.monthRange = [];
      } else if (val == 2) {
        this.year = "";
        this.quarter = "";
        this.month = "";
      }
    },
  },
};
</script>
